#include <iostream>
#include "Thread.hpp"
#include "Log.hpp"
#include"Task.hpp"
#include "Thread_pool.hpp"
#include <string>
#include <memory>
#include <unistd.h>
#include<ctime>

using namespace std;

// int main()
// {
//     EnableScreen();
//     srand(time(nullptr)^pthread_self());
//     unique_ptr<ThreadPool<Task>> tp = make_unique<ThreadPool<Task>>();
//     tp->InitThreadpool();
//     tp->Start();
//     int tasknum=10;
//     while(tasknum)
//     {
//         int a=rand()%10+1;
//         usleep(1234);
//         int b=rand()%5+1;
//         Task t(a,b);
//         tp->Enqueue(t);
//         sleep(1);
//         tasknum--;
//     }
//     tp->Stop();
//     tp->Wait();
  
//     // EnableScreen();
//     // Log(DEBUG, "hello :%s", "帅威");
//     // EnableFile();
//     // Log(DEBUG,"hello");

//     return 0;
// }

int main()
{
     ThreadPool<Task>::Getinstance();
     sleep(1);
     ThreadPool<Task>::Getinstance()->Wait();
    return 0;
}